home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 9
/
FM Towns Free Software Collection 9.iso
/
t_os
/
tool
/
jodoshi
/
jo.bas
< prev
next >
Wrap
BASIC Source File
|
1994-11-16
|
2KB
|
72 lines
10 BACKLEN=5
20 CLEAR:CLS
30 '*********************************************
40 BACKLEN=3 '最高バック参照距離
50 OFTENBACK=.9!'メイン問題後に復習する確率
60 '*********************************************
70 CONSOLE 1,20,2
80 DIM D$(1,100)
90 'ON ERROR GOTO *ER
100 FILES "*.ans"
110 PRINT
120 LINE INPUT "ファイル名only:",F$
130 OPEN "I",#1,F$+".ask"
140 OPEN "I",#2,F$+".ans"
150 L=1:LL=1'
160 '
170 '
180 IF EOF(1)=0 THEN
190 'read file
200 INPUT#1,D$(0,L)
210 L=L+1
220 GOTO 180
230 ENDIF
240 '
250 IF EOF(2)=0 THEN
260 'read2 file
270 INPUT#2,D$(1,LL)
280 LL=LL+1
290 GOTO 250
300 ENDIF
310 IF L<LL THEN LAST=L ELSE LAST=LL
320 IF D$(0,L)=""OR D$(1,L)="" ELSE 380
330 L=LAST-1:LL=LAST-1
340 LAST=LAST-1
350 GOTO 320
360 '
370 '***************************************************
380 PRINT "シャッフル"
390 FOR L=1 TO LAST*2
400 RANDOMIZE -TIME:RA=INT(RND*LAST+1)
410 RANDOMIZE +TIME:RB=INT(RND*LAST+1)
420 TMP$(0)=D$(0,RA):TMP$(1)=D$(1,RA)'問題と答え
430 D$(0,RA)=D$(0,RB):D$(1,RA)=D$(1,RB)
440 D$(0,RB)=TMP$(0):D$(1,RB)=TMP$(1)
450 NEXT L
460 '****************************************************
470 PRINT "出題開始"
480 FOR L=1 TO LAST
490 PRINT D$(0,L)
500 INPUT TMP$
510 PRINT D$(1,L)
520 WAIT 10
530 WHILE I$<>"":I$=INKEY$:WEND 'バッファクリア
540 PRINT "hit any key":I$=INPUT$(1):PRINT ""
550 RANDOMIZE -TIME
560 IF L>BACKLEN AND RND<OFTENBACK/BACKLEN THEN *復習 ELSE *進行
570 *復習
580 R=INT(RND*5)
590 PRINT "問題:"+D$(0,L-R-1)
600 INPUT "answer:",TMP$
610 PRINT "解答:"+D$(1,L-R-1)
620 WAIT 10
630 WHILE I$<>"":I$=INKEY$:WEND
640 PRINT "hit any key":I$=INPUT$(1):PRINT ""
650 *進行
660 RANDOMIZE -TIME
670 NEXT L
680 INPUT "REPLAY?",I$:IF I$="y" OR i$="Y" THEN 380 ELSE IF I$="" THEN 680
690 CLEAR:GOTO 20
700 *ER
710 IF ERL=100 THEN PRINT "ディスクいれて-":I$=INPUT$(1):RESUME 100